A cluster network typically includes a number of host computing devices connected via a number of network devices such as switches or routers. Each network device usually has one or more direct communication paths, like wire or cable connections, with other network devices or host computing devices within the cluster network. The network devices control the transmission of data and other messages within the cluster network.
It is important that all the communication paths between the network devices are functional in both directions to maintain the integrity of the cluster network. The communication paths between network devices can be tested by sending line rate data traffic to saturate the communication paths and measure the loss of traffic due to the saturation. One method of implementing such a stress test in a cluster network is to have the host computing devices generate test packets and send the packets to other hosts within the cluster. This method, however, only tests the few network devices and communication paths that are used to send the data packets between the two host computing devices.
Multicasting or broadcasting can also be used to test communication paths within a cluster network. Multicasting is a method of delivering information from a host computing device to a group of destination computing devices, instead of just one computing device. Broadcasting is a method of delivering information from a host computing device to all the other computing devices in a cluster. Both methods allow more network devices and communication paths to be tested, but none can test all the network devices and communication paths in the cluster. For example, multicasting and broadcasting cannot test bi-directional functionality of network communication paths since the test packet traffic only flows outward from the host computing device.